Summary

Renders an AJAX based tree menu with expandable folders.

Component properties
Category AS Menu
Version 1.0
Complies with Xhtml 1.0 / 1.1 rules Yes
Supported server programming languages C# Visual Basic.NET
Output content type Unspecified or not applicable

When placed on a Web page the component might look like the image below. 

The Tree menu component
The Tree menu component.

When to use

This component is typically used when there is a need to render a tree based menu. There are some compatibility issues with this component, see the Remarks section for more information. A developer can easily customize the component as the section below describes.

Customizing the tree menu

The tree menu component is highly customizable due to the fact that its visible interface is rendered by an Xsl stylesheet. Xsl is standard Xml development technique and by supplying your own stylesheet it is possible to change the look and feel of the tree menu generated. By default Tree menu is rendered using a standard stylesheet included in Content Studio and you can find this stylesheet in the System unit under the Stylesheets/Protected folder. Since this stylesheet is a part of the product and can be updated by the installation program you cannot edit this document but you can make a copy of it and use your own copy instead. As you can see from the source code below there are comments that indicates how to change the stylesheet.

Formatting xslt style sheet.

Programming interface

Parameters

Parent document id
Optional, the document to render the menu from. Leave this parameter empty to use the current document as a starting point.
Margin
The margin of the rendered output.
User defined xsl style sheet
An Xsl stylesheet that renders the menu. By default this parameter specifies the standard built in stylesheet but a developer can specify her own stylesheet if needed.
Enable view state
Turns on the view state.

Remarks

This component works with Internet Explorer 5 and later (on PC platform only) and has been tested on Netscape and Mozilla Firefox. However it should be compatible with all modern Web browsers that can consume AJAX based Web sites.

The Insert menu 3.0 component also has support for rendering tree menus and does so in a Html standard fashion and supports an even wider range of Web Browsers. However, that component is slower and generates far more data than Tree menu. If your Web site will only be used on the Web Browser mentioned above Tree menu can be a good alternative. Tree menu reads data only when a folder is clicked and only one level at the time. This ensures that only a small amount of data is read at the time and once read Tree menu remembers the fetched data until the page is closed.

General remarks with menu components

All menu driven components uses the Content Studio menu API:s and hierarchy document structures. The caller must have BROWSE permission to all items displayed and every item must be live and published. When the menu renders Content Studio traverses through the entire document tree and whenever there is a document that is not available to the caller the travers operation breaks at this point. This have the effect that any object that is a child of a unavailable document will be left out since the tree is broken at that point.